package com.yimi.yinhepda.views.login.contract;

import com.yimi.yinhepda.base.BaseContract;
import com.yimi.yinhepda.views.login.model.CompanyFindAllInfo;

import java.util.List;

/**
 * @author 000432
 */

public interface LoginContract {

    interface LoginView extends BaseContract.BaseView {

        /**
         * 校验网络时间
         */
        void checkNetworkTime();

        /**
         * 登录成功
         *
         * @param pwd 密码
         */
        void loginSuccess(String pwd);

        /**
         * 获取验证码图片
         */
        void getCaptchaImage();

        /**
         * 不需要验证码
         */
        void noNeedCaptchaImage();

        /**
         * 获取公司名称成功
         * @param data 公司集合
         */
        void getCompanyInfoSuccess(List<CompanyFindAllInfo> data);
    }

    interface LoginPresenter extends BaseContract.BasePresenter {

        /**
         * 校验网络时间
         *
         * @param mCompanyCode 公司编码
         * @param mEmpCode     员工号
         * @param mPwd         密码
         * @param captcha       验证码
         */
        void checkNetworkTime(String mCompanyCode, String mEmpCode, String mPwd,String captcha,boolean needVcode);

        /**
         * 硬件标识符访问权限
         */
        void requestHardwareFlagPermission();

        /**
         * 请求PAK安装权限
         */
        void requestInstallPackages();
    }

    interface LoginBiz extends BaseContract.BaseBiz {

        /**
         * 校验网络时间
         *
         * @param mCompanyCode 公司编码
         * @param mEmpCode     员工号
         * @param mPwd         密码
         */
        void checkNetworkTime(String mCompanyCode, String mEmpCode, String mPwd,String captcha,boolean needVcode);

        /**
         * 查询公司名称
         */
        void queryCompany();
    }
}
